Non-volatile memory systems, such as flash memory, have been widely adopted for use in consumer products. Flash memory may be found in different forms, for example in the form of a portable memory card that can be carried between host devices or as a solid state disk (SSD) embedded in a host device. Flash memory generally provides highest performance when the number of data bits per cell is lowest, such as binary flash, also known as single level cell (SLC) flash that stores one bit per cell. Flash memory that is configured to store more than one bit per cell, known as multi-level cell (MLC) flash, can store two or more bits of information per cell. While SLC flash memory is generally known for having better read and write performance (e.g., speed and endurance) than MLC flash, MLC flash provides more storage capacity and is generally less expensive to produce. The endurance and performance of MLC flash tends to decrease as the number of bits per cell of a given MLC configuration increases.
In a number of existing non-volatile memory systems, SLC and MLC are used together to try and capitalize on the advantages of each type of memory. The SLC memory may be used for its faster performance and the MLC for its greater storage density. For example, an SLC portion of a memory may be used as a buffer for data being written to the MLC memory, to support fast burst writes of data received from a host, and as the storage area of choice for frequently updated data in a memory system. Because the capacity of a block of SLC memory cells is necessarily half or less of a block of MLC memory cells, the SLC portion of a memory device is typically much smaller than the MLC portion such that the SLC portion often sets the limit for endurance for the whole memory system.